package xx.satoken.auth.controller;

import cn.dev33.satoken.stp.StpUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 权限校验测试接口
 */
@RestController
public class PermissController {

    /**
     * 获取：当前账号所拥有的权限集合
     * @return
     */
    @GetMapping("getPermissionList")
    public List<String> getPermissionList() {
        return StpUtil.getPermissionList();
    }

    /**
     * 判断：当前账号是否含有指定权限, 返回 true 或 false
     * @return
     */
    @GetMapping("hasPermission")
    public Boolean hasPermission(String per) {
        return StpUtil.hasPermission(per);
    }

    /**
     * 校验：当前账号是否含有指定权限, 如果验证未通过，则抛出异常: NotPermissionException
     * @param per
     * @return
     */
    @GetMapping("checkPermission")
    public String checkPermission(String per) {
        StpUtil.checkPermission(per);
        return "success";
    }

    @RequestMapping("testPermiss")
    public String testPermiss() {
        StpUtil.checkPermission("user.add");
        return "testPermiss";
    }

}
